//package com.mco.utils;
//
//
//import cn.hutool.core.util.RandomUtil;
//import io.lettuce.core.GeoArgs;
//import io.lettuce.core.RedisClient;
//import io.lettuce.core.RedisURI;
//import io.lettuce.core.api.StatefulRedisConnection;
//import io.lettuce.core.api.sync.RedisCommands;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//import java.util.HashMap;
//import java.util.Map;
//import java.util.Objects;
//
///**
// * lettuce
// * @author admin
// */
//public class LettuceUtil {
//    private static Logger logger = LoggerFactory.getLogger(JedisUtil.class);
//    public static void main(String[] args) {
//        StatefulRedisConnection<String, String> conn = getRedis();
//        //链接command
//        RedisCommands<String, String> jedis = conn.sync();
//        // 字符串
//        String str_key = getKey();
//        jedis.set(str_key, getValue());
//        logger.info(jedis.get(str_key));
//
//        // set
//        String set_key = getKey();
//        jedis.sadd(set_key, getValue(), getValue(), getValue());
//        jedis.smembers(set_key).forEach(k -> {
//            logger.info(k);
//        });
//
//
//        //zSet
//        String zSet_key = getKey();
//        jedis.zadd(zSet_key,9.0,"zd" );
//        jedis.zrange(zSet_key, 0, -1).forEach(a -> {
//            logger.info(a);
//        });
//
//        //hash
//        String hash_key = getKey();
//        jedis.hset(hash_key, getMapStr());
//        for (String hkey : jedis.hkeys(hash_key)) {
//            logger.info(jedis.hget(hash_key, hkey));
//        }
//
//
//        //list
//        String list_key = getKey();
//        jedis.lpush(list_key, getValue(), getValue(), getValue());
//        for (String s : jedis.lrange(list_key, 0, -1)) {
//            logger.info(s);
//        }
//
//        //geo
//        String geo_key = getKey();
//        jedis.geoadd(geo_key, 103.954887, 30.569293,"成都");
//        jedis.geoadd(geo_key, 121.477665, 31.236176,"上海");
//        logger.info(String.valueOf(jedis.geodist(geo_key, "成都", "上海", GeoArgs.Unit.km)));
//
//        //bit
//        String bit_key = getKey();
//        jedis.setbit(bit_key, 79, 1);
//        logger.info(String.valueOf(jedis.getbit(bit_key, 79)));
//
//        //hyperloglog
//        String hyperloglog_key = getKey();
//        jedis.pfadd(hyperloglog_key, getValue(), getValue(), getValue(), getValue());
//        logger.info(String.valueOf(jedis.pfcount(hyperloglog_key)));
//        closeConn(conn);
//    }
//
//    private static void closeConn(StatefulRedisConnection<String, String> conn) {
//        // 关闭
//        try {
//            if (!Objects.isNull(conn)){
//
//                conn.close();
//            }
//        }catch (Exception e){
//            System.out.println(e);
//        }finally {
//            conn = null;
//        }
//    }
//    private static Map<String, String> getMapStr() {
//        Map<String, String> map = new HashMap<>(5);
//        for (int i = 0; i < 5; i++) {
//            map.put("HMOC-" + RandomUtil.randomNumbers(4), RandomUtil.randomString("Hash", 10));
//        }
//        return map;
//    }
//
//    private static Map<String, Double> getMap() {
//        Map<String, Double> map = new HashMap<>(5);
//        for (int i = 0; i < 5; i++) {
//            map.put("MOC-" + RandomUtil.randomNumbers(4), RandomUtil.randomDouble(1, 10));
//        }
//        return map;
//    }
//
//    private static String getValue() {
//        return RandomUtil.randomStringUpper(6);
//    }
//
//    private static String getKey() {
//        return "TOC-" + RandomUtil.randomString(6);
//    }
//
//    private static StatefulRedisConnection<String, String> getRedis() {
//        // 链式编程 创建RedisUri
//        RedisURI build = RedisURI.builder().withHost("120.77.64.190").withPort(6379).withPassword("111111".toCharArray()).build();
//
//        //创建客户端
//        StatefulRedisConnection<String, String> conn = RedisClient.create().connect(build);
//        return conn;
//    }
//}
